//
//  DeviceContextParams.h
//  Morpheus2D
//
//  Created by Vivek Seetharaman on 6/11/12.
//  Copyright 2012 __MyCompanyName__. All rights reserved.
//

#ifndef Morpheus2D_DeviceContextParams_h
#define Morpheus2D_DeviceContextParams_h

#include "ERendererTypes.h"
#include "Rect.h"

using namespace morpheus2d::core;

namespace morpheus2d
{
namespace graphics
{
    //! The Device Context encapsulates the window, window events and the Renderer
    /**
     *  Create an instance of this class to start rendering to the created window.
     */
    struct DeviceContextParams
    {
        DeviceContextParams();                   
        
        ~DeviceContextParams();
        
        E_RENDERER_TYPE eRendererType;
        
        Rect<int> windowSize;
        
        unsigned char bitsPerPixel;
        
        unsigned char bitsZBuffer;
        
        bool bHasAlphaChannel;
        
        bool bEnableDoubleBuffer;
        
        bool bEnableStencilBuffer;
        
        bool bFullScreen;
        
        bool bEnableVSync;
        
        unsigned char antiAliasFactor;
        
    };
}
}

#endif
